home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / NEW / A-Newest / TORPET.d64 / underline cursor (.txt) < prev    next >
Commodore BASIC  |  2009-10-12  |  2KB  |  98 lines

  1. 10 REM ********************************
  2. 20 REM *
  3. 30 REM * CHARACTER-SETUP
  4. 40 REM *
  5. 50 REM * BY
  6. 60 REM *
  7. 70 REM * PETER TATTERSALL
  8. 80 REM *
  9. 90 REM ********************************
  10. 100 :
  11. 101 POKE 52,104:POKE 56,104:CLR:REM RESERVE MEMORY
  12. 102 :
  13. 103 REM TURN ON CHARACTERS
  14. 104 :
  15. 105 POKE 53272,(PEEK(53272)AND 240)+14
  16. 106 :
  17. 110 REM WE'LL DO ALL THIS IN BASIC
  18. 120 REM SO YOU CAN SEE WHAT WE'RE DOING
  19. 130 :
  20. 140 REM FIRST TURN OFF THE INTERRUPTS
  21. 145 REM WHICH IS OK FROM BASIC AS LONG
  22. 146 REM AS YOU DON'T HAVE BUS CARDS,
  23. 147 REM OR (SOME) BASIC EXTENSIONS
  24. 148 :
  25. 150 POKE 56334,PEEK(56334)AND 254
  26. 151 :
  27. 152 REM RESET THE BLOCK TO 1
  28. 153 :
  29. 154 POKE 56578,PEEK(56578)OR3:POKE 56576,(PEEK(56576)AND 252)OR2
  30. 155 :
  31. 156 REM RESET THE PAGE POINTER
  32. 157 :
  33. 158 POKE 648,104:POKE 53272,(PEEK(53272)AND 15) OR 160
  34. 159 :
  35. 160 :
  36. 170 REM SWITCH OUT I/O AND SWITCH IN
  37. 180 REM CHARACTER ROM
  38. 190 POKE 1,PEEK(1) AND 251
  39. 200 :
  40. 210 REM MOVE CHARACTERS TO $3000
  41. 220 :
  42. 230 FOR I=0 TO 4095
  43. 240 POKE I+28672,PEEK(I+53248)
  44. 250 NEXT
  45. 260 :
  46. 270 REM RESTORE I/O
  47. 280 :
  48. 290 POKE 1,PEEK(1) OR 4
  49. 300 :
  50. 310 REM RESTORE INTERUPTS
  51. 320 :
  52. 330 POKE 56334,PEEK(56334) OR 1
  53. 340 :
  54. 350 REM MODIFY "BLOCKS"
  55. 360 :
  56. 370 FOR I=1024 TO 2047
  57. 380 POKE 28672+I,PEEK(27648+I)
  58. 390 NEXT
  59. 400 :
  60. 410 FOR I=1031 TO 2047 STEP 8
  61. 420 POKE 28672+I,255
  62. 430 NEXT
  63. 440 :
  64. 450 FOR I=3072 TO 4095
  65. 460 POKE 28672+I,PEEK(27648+I)
  66. 470 NEXT
  67. 480 :
  68. 490 FOR I=3079 TO4095 STEP 8
  69. 500 B=255 AND (NOT(PEEK(28672+I)))
  70. 510 POKE 28672+I,B
  71. 520 NEXT
  72. 530 :
  73. 540 REM ALL DONE - BUT NOW WE HAVE NO
  74. 550 REM REVERSE CHARACTERS, AND SOME
  75. 560 REM MEMORY SPACE IS WASTED.
  76. 570 :
  77. 580 REM OF COURSE, MACHINE CODE WOULD DO THIS FASTER...
  78. 590 :
  79. 600 REM SET UP A NEW INTERUPT ENTRY
  80. 610 REM AND ENABLE IT
  81. 620 FOR I=32768 TO 32809
  82. 630 READ A
  83. 640 POKE I,A
  84. 650 NEXT
  85. 660 :
  86. 670 SYS 32797
  87. 680 :
  88. 690 END
  89. 695 :
  90. 696 REM FIRST TWO DATA LINES ARE FLASHKILLER
  91. 697 :
  92. 700 DATA 32,234,255,165,204,208,19,164,211,177,209,41,127,133,206,9
  93. 710 DATA 128,145,209,169,1,133,207,76,79,234,76,97,234
  94. 715 :
  95. 716 REM NEXT LINE IS ENABLER
  96. 720 :
  97. 730 DATA 120,169,0,141,20,3,169,128,141,21,3,88,96
  98.